Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>ELAN (Programmiersprache)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/ELAN_(Programmiersprache)"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-ELAN_Programmiersprache rootpage-ELAN_Programmiersprache skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">ELAN (Programmiersprache)</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>ELAN</b> (kurz für <i><b>E</b>ducational <b>LAN</b>guage</i>) ist eine an der <a href="Technische_Universit%C3%A4t_Berlin" title="Technische Universität Berlin">Technischen Universität Berlin</a> und dem <a href="GMD-Forschungszentrum_Informationstechnik" title="GMD-Forschungszentrum Informationstechnik">GMD-Forschungszentrum Informationstechnik</a> –&nbsp;auf Anregung des Arbeitskreises „Schulsprache“&nbsp;– weiterentwickelte <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> aus der <a href="ALGOL" title="ALGOL">ALGOL</a>-Familie.
</p>

<div class="mw-heading mw-heading2"><h2 id="Weitere_Einzelheiten">Weitere Einzelheiten</h2></div>
<p>1976 wurde an der <a href="Technische_Universit%C3%A4t_Berlin" title="Technische Universität Berlin">TU-Berlin</a> (Fachbereich Softwaretechnik), in Zusammenarbeit mit <a href="Nixdorf_Computer" title="Nixdorf Computer">Nixdorf Computer</a>, ein Forschungsprojekt durchgeführt, mit dem Ziel, ELAN in den Schulen einsetzen zu können. Der zugehörige (ELAN-)<a href="Compiler" title="Compiler">Compiler</a> wurde mit der Sprache CDL2<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>A 1<span class="cite-bracket">]</span></a></sup> entwickelt.
</p><p>Basis von ELAN ist die ebenfalls an der Technischen Universität Berlin entstandene Sprachfamilie SLAN. Ziel der Entwicklung war, neben der leichten Benutzbarkeit in Schulen, auch die leichte Erlernbarkeit.
</p><p>Zu den Eigenschaften, die unter anderem das Erlernen der <a href="Top-Down-_und_Bottom-Up-Design" title="Top-Down- und Bottom-Up-Design">Top-Down Programmierung</a> erleichtern sollen, gehören beispielsweise die sogenannten <i>refinements</i>. Im Programmcode wird zunächst im Klartext beschrieben, was getan werden soll; diese Beschreibungen werden anschließend erläutert.
</p><p><i>Beispiel:</i>
</p>
<pre style="margin-left:2em">werte vorbelegen;
rechnen.

werte vorbelegen:
INT CONST a&nbsp;:= 27;
INT CONST b&nbsp;:= 15.

rechnen:
INT CONST antwort&nbsp;:= a + b.

PROC eine prozedur (TEXT CONST txt):
IF txt = "a" THEN
putline ("a wurde übergeben");
ELIF txt = "b" THEN
putline ("b wurde übergeben");
ELSE
putline ("etwas anderes wurde übergeben");
FI;
END PROC eine prozedur;
</pre>
<p>Diese Refinements sind in anderen Programmiersprachen unbekannt und können am ehesten mit parameterlosen <a href="Makro" title="Makro">Makros</a> verglichen werden. Bei geschickter Verwendung von Refinements sind ELAN-Programme weitgehend selbsterklärend.
</p><p>Es gab in der Sprache auch bereits eine umfangreiche Modularisierung, wie sich diese später in Sprachen wie <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> findet.
</p>
<div class="mw-heading mw-heading3"><h3 id="Verbreitung">Verbreitung</h3></div>
<p>Die <a href="Betriebssystem" title="Betriebssystem">Betriebssysteme</a> <a href="L2_(Betriebssystem)" title="L2 (Betriebssystem)">L2</a> und <a href="L3_(Betriebssystem)" title="L3 (Betriebssystem)">L3</a> wurden zum Großteil in ELAN geschrieben. L2 ist auch bekannt unter dem Namen EUMEL ("<b>E</b>xtendable Multi <b>U</b>ser <b>M</b>icroprocessor <b>EL</b>AN System").
</p><p>Eine der ersten Schulen, in deren Informatikunterricht ELAN Eingang fand, waren schon vor 1978 das <a href="Ceciliengymnasium_Bielefeld" title="Ceciliengymnasium Bielefeld">Ceciliengymnasium</a> in <a href="Bielefeld" title="Bielefeld">Bielefeld</a> und ab 1980 das Max-Planck-Gymnasium. Im gleichen Jahr wurde am <a href="Carl-Duisberg-Gymnasium" title="Carl-Duisberg-Gymnasium">Carl-Duisberg-Gymnasium</a> in <a href="Wuppertal" title="Wuppertal">Wuppertal</a> ein ELAN-basiertes Zwei-Platz-System eingerichtet, an dem Schüler in ELAN zu programmieren lernten. Ab 1981 wurde ELAN auf einem 5-Platz-L2-System im Informatikunterricht am Gymnasium Wesermünde in <a href="Bremerhaven" title="Bremerhaven">Bremerhaven</a> unterrichtet. Am Schulzentrum Aspe (Rudolph-Brandes-Gymnasium) in <a href="Bad_Salzuflen" title="Bad Salzuflen">Bad Salzuflen</a> sowie am Dietrich-Bonhoeffer-Gymnasium in <a href="Wiehl" title="Wiehl">Wiehl</a> wurden ab ca. 1982 für etliche Jahre Mehrplatz-Systeme (<a href="Mehrbenutzersystem" title="Mehrbenutzersystem">Multiuser</a>) mit mehreren <a href="Terminal_(Computer)" title="Terminal (Computer)">Terminals</a> und zentralen PCs unter EUMEL zur Programmier-Ausbildung mit ELAN betrieben. Auch am <a href="Helmholtz-Gymnasium_Bonn" title="Helmholtz-Gymnasium Bonn">Helmholtz-Gymnasium</a> sowie am <a href="Collegium_Josephinum_Bonn" title="Collegium Josephinum Bonn">Collegium Josephinum</a> in <a href="Bonn" title="Bonn">Bonn</a>, am Dietrich-Bonhoeffer Gymnasium in Wiehl, am <a href="Freiherr-vom-Stein-Gymnasium_(Kleve)" title="Freiherr-vom-Stein-Gymnasium (Kleve)">Freiherr-vom-Stein-Gymnasium</a> in <a href="Kleve" title="Kleve">Kleve</a>, am Gymnasium Warstade in <a href="Hemmoor" title="Hemmoor">Hemmoor</a> und am Gymnasium Otterndorf in <a href="Otterndorf" title="Otterndorf">Otterndorf</a> wurde in den 1980er Jahren Informatik mit ELAN und EUMEL unterrichtet. Noch bis Ende der 1980er Jahre wurde ELAN in Berufsfachschulen für Wirtschaft im Rahmen des EDV-Unterrichts gelehrt; so zum Beispiel an den Berufsbildenden Schulen in <a href="Einbeck" title="Einbeck">Einbeck</a>.
</p><p>An der TU-Berlin wurde Mitte der 1980er Jahre ein Forschungsprojekt zusammen mit der Fa. NIXDORF durchgeführt. Dabei wurde von Bernhard Gramberg ein eigenes Betriebssystem für die 8870/U entwickelt und auf diesem Rechner ELAN implementiert. Damit konnte sich NIXDORF an der damals laufenden Ausschreibung für neue Schulrechner beteiligen. Im Rahmen dieses Forschungsprojektes wurde an der TU-Berlin über Jahre die Lehrerfortbildung der Berliner Schulen mit ELAN durchgeführt.
</p><p>ELAN ist bis heute auf diversen Applikationen im Einsatz (vgl. <a href="L3_(Betriebssystem)" title="L3 (Betriebssystem)">L3</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Anmerkungen">Anmerkungen</h2></div>
<ol class="references" data-mw-group="A">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a href="https://en.wikipedia.org/wiki/Compiler_Description_Language" class="extiw external" title="en:Compiler Description Language">Compiler Description Language&nbsp;2</a> (englisch)</span>
</li>
</ol>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="Liste_von_Programmiersprachen" title="Liste von Programmiersprachen">Liste von Programmiersprachen</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>G. Hommel, J. Jäckel, S. Jähnichen, K. Kleine, W. Koch, C.H.A. Koster: <i>ELAN-Sprachbeschreibung</i>. Akademische Verlagsgesellschaft, Wiesbaden 1979, ISBN 3-400-00384-0.</li>
<li>Rainer Hahn, Peter Stock: <cite style="font-style:italic">ELAN-Handbuch</cite>. 2., korr. Auflage. Akademische Verlagsgesellschaft, Wiesbaden 1982, ISBN 3-400-00499-5 (Erste Auflage 1979: <a rel="nofollow" class="external text" href="https://archive.org/details/elan-handbuch-1979/mode/1up">archive.org</a>).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:ELAN+%28Programmiersprache%29&amp;rft.au=Rainer+Hahn%2C+Peter+Stock&amp;rft.btitle=ELAN-Handbuch&amp;rft.date=1982&amp;rft.edition=2.%2C+korr.&amp;rft.genre=book&amp;rft.isbn=3400004995&amp;rft.place=Wiesbaden&amp;rft.pub=Akademische+Verlagsgesellschaft" style="display:none">&nbsp;</span></li>
<li>L.H. Klingen, J. Liedtke: <i>Programmieren mit ELAN</i>. Teubner Verlag, Stuttgart 1983, ISBN 3-519-02507-8.</li>
<li>L.H. Klingen, J. Liedtke: <i>ELAN in 100 Beispielen</i>. Teubner Verlag, Stuttgart 1985, ISBN 3-519-02521-3.</li>
<li>C.H.A. Koster: <i>Top-Down Programming with Elan</i>. Ellis Horwood, 1987, ISBN 0-7458-0187-0.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.cs.ru.nl/elan/">ELAN-Implementierung der Universität Nijmegen</a></li>
<li><a rel="nofollow" class="external text" href="http://os.inf.tu-dresden.de/L4/l3elan.html">Uni Dresden zu ELAN</a></li>
<li><a rel="nofollow" class="external text" href="http://os.inf.tu-dresden.de/L3/usrman/node10.html">Einführung in ELAN</a> aus dem L3-Benutzerhandbuch an der Uni Dresden</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-10-22" href="https://de.wikipedia.org/wiki/?title=ELAN_(Programmiersprache)&amp;oldid=249644051">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>